Skip to content

calibre: 8.16.2 -> 9.4.0; python3.13 -> python3.14; fix build#494483

Merged
SuperSandro2000 merged 3 commits intoNixOS:masterfrom
Stebalien:steb/update-calibre
Mar 4, 2026
Merged

calibre: 8.16.2 -> 9.4.0; python3.13 -> python3.14; fix build#494483
SuperSandro2000 merged 3 commits intoNixOS:masterfrom
Stebalien:steb/update-calibre

Conversation

@Stebalien
Copy link
Contributor

@Stebalien Stebalien commented Feb 26, 2026

calibre 9.0+ requires python3.14+.

This addresses the security issues #494339, #494340, #495148; But I'm not sure what the python3.14 policy is for nixos-stable.

Also fixes #489028 (update calibre).

Finally, this works around the build failure #420293 until the correct fix (#493988) passes through staging and lands on master.

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

@Stebalien
Copy link
Contributor Author

Notes:

  • Last time this came up, I thought updating to python 3.14 was going to be tricky, but it turns out speechd was the only package that needed some massaging.
  • I tested the speech feature, and it seems to work. Calibre doesn't use the piper-tts python module, so there's no need to rebuild piper-tts for python3.14. In fact, piper-tts doesn't build for python3.14 because it depends on aws-sam-translator which doesn't build on python3.14.
  • This PR is affected by Build failure: calibre #493843 and won't build until qt6.qtbase: fix incorrect substitution in setupHook #493988 lands on master.

@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. labels Feb 26, 2026
Copy link
Contributor

@mdorman mdorman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change seems straightforward and uncontroversial.

@nixpkgs-ci nixpkgs-ci bot added the 12.approvals: 1 This PR was reviewed and approved by one person. label Feb 27, 2026
@AchmadFathoni
Copy link
Contributor

Calibre 9.4 is out now

@Stebalien Stebalien changed the title calibre: 8.16.2 -> 9.3.1; python3.13 -> python3.14 calibre: 8.16.2 -> 9.4.0; python3.13 -> python3.14 Feb 28, 2026
@Stebalien Stebalien changed the title calibre: 8.16.2 -> 9.4.0; python3.13 -> python3.14 calibre: 8.16.2 -> 9.4.0; python3.13 -> python3.14; fix build Feb 28, 2026
@Stebalien Stebalien marked this pull request as ready for review February 28, 2026 15:54
@Stebalien Stebalien added the 1.severity: security Issues which raise a security issue, or PRs that fix one label Feb 28, 2026
@Stebalien
Copy link
Contributor Author

The security issues are piling up so I'm just going to work around the build failure as suggested by @wrvsrv in #493843 and mark this PR ready for review.

@Stebalien
Copy link
Contributor Author

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 494483 --skip-package convertx
Commit: e18fec7eb7131823658e524cff0eb9ca5b404fbb


x86_64-linux

✅ 3 packages built:
  • calibre
  • calibre-no-speech
  • unbook

@Stebalien
Copy link
Contributor Author

I skipped convertx because that requires building libreoffice (hydra failed during the last rebuild) and my poor laptop isn't up to the task.

Copy link
Contributor

@sempiternal-aurora sempiternal-aurora left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, this basically is what my own changes to the derivation boil down to. Just waiting on a aarch64-linux build right now, though it may be awhile as my little m2 macbook air is trying to compile torch, which takes 30 minutes on the build servers.

@nixpkgs-ci nixpkgs-ci bot added 12.approvals: 2 This PR was reviewed and approved by two persons. and removed 12.approvals: 1 This PR was reviewed and approved by one person. labels Mar 2, 2026
@sempiternal-aurora
Copy link
Contributor

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 494483
Commit: e18fec7eb7131823658e524cff0eb9ca5b404fbb


aarch64-linux

✅ 5 packages built:
  • calibre
  • calibre-no-speech
  • convertx
  • nixpkgs-manual
  • unbook

calibre 9.0+ requires python3.14+.
This applies a workaround suggested by @wrvsrv. Unfortunately, the
correct fix (NixOS#472656) requires a mass rebuild so it'll take a while to
pass through staging.

fixes NixOS#493843
@Stebalien Stebalien force-pushed the steb/update-calibre branch from e18fec7 to 0431d32 Compare March 2, 2026 14:57
Include version information in the debian patches so we re-fetch them
every time we bump the version, ensuring the hashes remain correct.

(suggested by @mjoerg)
@Stebalien
Copy link
Contributor Author

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 494483
Commit: 41e3ede6c7c457067045254d9f2d97a2075496cc


x86_64-linux

✅ 4 packages built:
  • calibre
  • calibre-no-speech
  • convertx
  • unbook

@Stebalien
Copy link
Contributor Author

Decisions:

  1. Is updating to python3.14 ok here?
  2. Is working around Build failure: calibre #493843 until qt6.qtbase: fix incorrect substitution in setupHook #493988 passes through staging ok?
  3. Should this be backported to 25.11? It contains security fixes, but it's also a major version bump and it depends on python 3.14.

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/prs-ready-for-review/3032/6505

@sempiternal-aurora
Copy link
Contributor

Decisions:

  1. Is updating to python3.14 ok here?
  2. Is working around Build failure: calibre #493843 until qt6.qtbase: fix incorrect substitution in setupHook #493988 passes through staging ok?
  3. Should this be backported to 25.11? It contains security fixes, but it's also a major version bump and it depends on python 3.14.

My two cents:

  1. I'm not sure about. I reckon it should be fine, everything builds right now and it gets a new version out, though I'm not aware of procedure around python versions either
  2. I don't see a problem, as long as the change won't break the build when it does hit master and cause an immediate build failure that needs to be resolved, letting us just remove the fix when we next update.
  3. I don't think it is appropriate, a major version bump, along with noted new features isn't stable, the interface is changing, and it isn't just patches and bug fixes. This is why I didn't backport the 8.16 update to staging, new ai features.

@Stebalien
Copy link
Contributor Author

I don't see a problem, as long as the change won't break the build when it does hit master and cause an immediate build failure that needs to be resolved, letting us just remove the fix when we next update.

We should be fine there as the path to qmake isn't changing (the workaround here just correctly sets the QMAKE environment variable).

I don't think it is appropriate, a major version bump, along with noted new features isn't stable, the interface is changing, and it isn't just patches and bug fixes. This is why I didn't backport the 8.16 update to staging, new ai features.

Fair enough, but we'll need to backport patches to fix #494339, #494340, and #495148.

@SuperSandro2000 SuperSandro2000 added this pull request to the merge queue Mar 4, 2026
@nixpkgs-ci nixpkgs-ci bot added 12.approvals: 3+ This PR was reviewed and approved by three or more persons. 2.status: merge-bot eligible This PR can be merged by commenting "@NixOS/nixpkgs-merge-bot merge". and removed 12.approvals: 2 This PR was reviewed and approved by two persons. labels Mar 4, 2026
Merged via the queue into NixOS:master with commit 16ad066 Mar 4, 2026
32 of 34 checks passed
@Stebalien Stebalien deleted the steb/update-calibre branch March 4, 2026 02:07
@sempiternal-aurora
Copy link
Contributor

@Stebalien Happy to create the patch backport unless you particularly want too?

@SuperSandro2000
Copy link
Member

Python 3.14 is not very ready in 25.11 and it is a major update.

@Stebalien
Copy link
Contributor Author

@SuperSandro2000 I think the idea is to backport the individual security patches:

#494339
#494340
#495148

And now:

#496127

@Stebalien
Copy link
Contributor Author

Stebalien commented Mar 4, 2026

@sempiternal-aurora please do so if you have the time.

edit: I see you already did #496499 ❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1.severity: security Issues which raise a security issue, or PRs that fix one 2.status: merge-bot eligible This PR can be merged by commenting "@NixOS/nixpkgs-merge-bot merge". 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 12.approvals: 3+ This PR was reviewed and approved by three or more persons.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update Request: calibre 8.16.2 → 9.3.1

7 participants